The present invention is directed to user interfaces and more particularly, to a method of navigation and interaction with a user interface. Such interaction and navigation involve operating an input device such as a mouse, a trackball or a three-dimensional (hereinafter “3D”) pointing remote device. The operation of the input device includes at least one of point, click, scroll, etc.
User interfaces, such as graphical user interfaces (GUIs) are well known. Virtually all computers include (or, enable) a graphical user interface in order to make the interaction with the computer more “user friendly”. This is accomplished by reducing, if not eliminating, the number of keystrokes a user is required to enter in order to perform a function such as launching an application residing on the computer. An increasing number of other electronic devices, from cell phones to user controls on appliances, rely on various graphical user interfaces that facilitate a user interaction with the particular device.
Traditional methods of using a GUI (on a computer for example) include the use of an input device such as a mouse or a track ball. A movement of the mouse or the track ball results in a corresponding pointer moving on the graphical user interface. The pointer can thus be navigated to an object (represented by an icon) on the GUI that corresponds to an executable task such as launching a software application for example. Once the pointer is navigated to an icon, the corresponding task can be executed by clicking (depressing) on an actuating button that is integrated within the input device. For example, if the icon on the GUI corresponds to a word processing application, clicking on the icon results in launching the word processing application. The pointer can also be used to rapidly scroll through pages of text within a word processing document for example.
The input device can be used to perform various tasks depending on the application being executed on the computer. In a map software program (generically referred to as location information program) for example, maps of a geographic area can be displayed. While displaying a map, the actuating button of the pointer can be depressed on a particular area of the map to zoom in on the selected area to provide additional detail while displaying a smaller overall geographic area. The actuating button therefore can be used to zoom in on an area of interest.
Referring to FIG. 1, a map of the United States 114 is illustrated. Center point 108 represents the center of bounding box 102 (which could also represent the user interface) that includes map 114. User interface 102 can represent a window corresponding to the map software program similar to a window that represents a work area of a document in a word processing program for example. The user can then request a more detailed view of a point of interest 105 on the map (such as New York City) by moving the pointer 104 to point of interest 105 and depressing the actuating button. The points of interest displayed on a graphical user interface may be thought of as objects.
The zooming in on the point of interest (i.e. New York in this example) results in map 314 of FIG. 3A being included within user interface 102. As illustrated, New York (point of interest 105) is now displayed in the center of user interface 102. Center point 108, still representing center of the user interface 102 (but no longer representing center of map 114), now coincides with point of interest 105. The point of interest 105 and center point 108 represent the same location on map 314.
Pointer 104, previously pointing to the point of interest 105 (in FIG. 1), however remains at the same physical location within the user interface 102 but no longer points to the point of interest 105 (in FIG. 3A). That is, the relative distance of pointer 104 with respect to the side and top of user interface 102 in FIG. 3A is identical to the relative distance of pointer 104 with respect to the side and top of user interface 102 in FIG. 1.
If a user now wishes to zoom in further on New York, the user has to move the mouse until pointer 104 points to the point of interest 105 (or, center point 108) prior to depressing the actuating button. The pointer location does not coincide with or, is not synchronized to, the point of interest when zooming occurs according to current implementations. If a user wishes to zoom in a few times (to a number of zooming levels), a cumulative delay factor is introduced into the process as the pointer has to be located and moved to the point of interest for each desired zooming level. The cumulative delay factor is a sum of delays each of which is associated with having to re-centering the pointer after each zooming function.
Some embodiments provide a synchronization (or, coordination) between the zooming function and the pointer location on a user interface.